/**
 * 
 */
package com.enjoyor.soa.traffic.api.service.dubbo.idcs;


/**
 * 布控过车数据监听
 * @author ly
 *
 */
public interface DubboIDCSBayonetCallbackService {

	/**
	 * 订阅卡口布控等级
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @param listener 监听
	 */
	void addBayonetControlLevelListener(String listenerId,IDCSCallbackListener listener);
	
	/**
	 * 移除订阅
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @return 是否移除成功
	 */
	boolean removeBayonetControlLevelListener(String listenerId);
	
	/**
	 * 订阅卡口布控等级心跳
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @return
	 */
	boolean BayonetControlLevelHeartBeat(String listenerId);
	

	/**
	 * 订阅卡口状态
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @param listener 监听
	 */
	void addBayonetStatusListener(String listenerId,IDCSCallbackListener listener);
	
	/**
	 * 移除订阅
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @return 是否移除成功
	 */
	boolean removeBayonetStatusListener(String listenerId);
	
	/**
	 * 订阅卡口状态心跳
	 * @param listenerId 监听ID，不重复ID，可以为IP或者编号，只有一个web层可以不填
	 * @return
	 */
	boolean BayonetStatusHeartBeat(String listenerId);
	
}
